#include <stdio.h>
#include <cuda_runtime.h>


__global__ void kernel(float *da, int n) {
    printf("\n");
    for (int i = 0; i < n; ++i) {
        printf(" %.2f ", da[i]);
    }
    printf("\n");
}


int main() {

    // host数据 
    float ha[16]{0};
    ha[0] = 10.5;
    ha[3] = 5.1;

    // device数据 
    float *da;
    cudaMalloc((void **)&da, sizeof(float) * 16);

    // h2d 
    cudaMemcpy(da, ha, sizeof(float) * 16, cudaMemcpyHostToDevice);

    // 启动kernel 
    kernel<<<1, 1>>>(da, 16);

    // 等待kernel完成 
    cudaDeviceSynchronize();

    return 0;
}